/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package mx.its.dsw2.view;

import java.util.List;
import javax.ejb.EJB;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;
import javax.faces.event.ActionEvent;
import mx.its.dsw2.biblioteca.bl.UsuarioBlLocal;
import mx.its.dsw2.biblioteca.modelo.Usuario;

/**
 *
 * @author Maq.8
 */
@ManagedBean
@SessionScoped
public class UserBean {
    //Llamadas

    @EJB
    private UsuarioBlLocal usuarioBl;
    //Variables
    private List<Usuario> userList;
    private Usuario user;
    private String accion;

    public UserBean() {
    }
    //Getters y Setters

    public List<Usuario> getUserList() {
        userList = usuarioBl.getAll();
        return userList;
    }

    public Usuario getUser() {
        return user;
    }

    public void setUser(Usuario user) {
        this.user = user;
    }
    //Acciones

    public String procesarAccion() {
        if (accion.equalsIgnoreCase("Nuevo")) {
            usuarioBl.register(user);
        } else {
            if (accion.equalsIgnoreCase("Editar")) {
                usuarioBl.modify(user);
            } else {
                if (accion.equalsIgnoreCase("Eliminar")) {
                    usuarioBl.delete(user);
                }
            }
        }
        accion="";
        return "UsersList";
    }
    
      public String prepararCancelar(){
        String regresa = "";
        if (accion.equalsIgnoreCase("Eliminar")) {
           regresa = "UsersList";
           
        } if(accion.equalsIgnoreCase("Editar")|| accion.equalsIgnoreCase("Nuevo")){
            regresa = "UserCreateEdit";
        }
        return regresa;
    }
    //Listeners
       public void prepararNuevo(ActionEvent e) {
        accion = "Nuevo";
        user = new Usuario();
    }

    public void prepararEditar(ActionEvent e) {
        accion = "Editar";
        int index = Integer.parseInt(e.getComponent().getClientId().split(":")[2]);
        user = userList.get(index);
    }

    public void prepararEliminar(ActionEvent e) {
        accion = "Eliminar";
        int index = Integer.parseInt(e.getComponent().getClientId().split(":")[2]);
        user = userList.get(index);
    }
}
